/**
 * 健康检查控制器 - 系统健康状态监控和版本信息接口
 *
 * 开发人员：徐少洋
 * 开发时间：2025-10-20 至 2025-10-25
 * 模块职责：提供系统健康检查和版本信息查询接口，支持负载均衡器和监控系统的健康探测
 *
 * 技术要点：
 * - 健康检查端点（ping/pong机制）
 * - 系统版本信息暴露和管理
 * - 轻量级无依赖健康检查实现
 * - 监控系统集成和负载均衡支持
 * - 生产环境健康监控标准实现
 *
 * 开发故事：负责健康检查控制器的开发，与运维团队和监控系统深度配合，确保系统运行状态的可观测性和故障检测能力。
 */
package com.pbl.controller;

import com.pbl.common.model.ApiResponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/health")
public class HealthController {

    /**
     * 健康检查端点
     * @return 健康状态响应
     */
    @GetMapping("/ping")
    public ApiResponse<String> ping() {
        return ApiResponse.success("pong");
    }

    /**
     * 系统版本信息端点
     * @return 版本信息响应
     */
    @GetMapping("/version")
    public ApiResponse<Map<String, Object>> version() {
        Map<String, Object> map = new HashMap<>();
        map.put("name", "智融财务管理系统后端");
        map.put("version", "0.0.1");
        map.put("buildTime", "2025-12-01");
        map.put("description", "企业级金融科技SaaS平台后端服务");
        return ApiResponse.success(map);
    }
}
